let fs = require('fs');
let path = require('path');

let res = [];
function readFile(dir) {
    // 1.先读取文件
    let file = fs.readdirSync(dir);

    // 2.遍历获取到的文件
    file.forEach(function (item) {
        //数组项是读取到的文件项
        //3.整合读取到的路径和便利出来的数组项，dir是自己床过来的路径，item是读取的每一项文件，数组项
        let filePath = path.join(dir, item);

        // 4.查看整合的路径文件信息
        let fileName = fs.statSync(filePath);

        // 5.判断整合的路径是否是一个文件
        if (fileName.isFile()) {//如果是一个文件查看该文件信息
            // console.log(filePath);
            // 6.把文件类型的绝对路径返回数组格式
            //   如果是一个绝对路径就添加返回到数组内，如果不是重复调用
            // if (path.isAbsolute(dir)) {
            //     res.push(filePath)
            // } else {
            //     readFile(filePath);
            // }
            res.push(filePath)
        } else {//如果不是一个文件，重新执行
            //调用封装的函数
            readFile(filePath);//传参数整合的路径
        }
    })

    return res
}

// readFile('demo01');
// 新拼接路径,__dirname是当前文件所在的文件夹,拼接demo01
// let d = path.join(__dirname, 'demo01');
// // 调用传参新拼接的路径传参执行封装函数里的过程
// readFile(d)

module.exports = readFile;